<mark></mark><?php
	/**
	 * Arquivo: acessar.inc
	 * @package Default
	 * @sub-package ACESSAR
	 * @page-level 1
	 */
	$include_path = ini_get('include_path');
	//echo ($include_path);
	$include_path .= ":/home/alcione/public_html/ctpst/adm";
	//$include_path .= ":/home/alcione/public_teste/adm";
	ini_set('include_path',$include_path);
	require_once("bancos.inc");
	/**
	 * Classe de Controle de Acesso ao Sistema
	 * @package Default
	 * @return integer $resposta
	 */
	class ACESSAR extends BANCOS
		{
		/**
		 * Identificação do Acesso
		 * @access private
		 * @var integer
		 */
		private $identificao;
		/**
		 * Login do usuário
		 * @access private
		 * @var string
		 */
		private $usuario;
		/**
		 * Senha do usuário criptografada
		 * @access private
		 * @var string
		 */
		private $senha;
		/**
		 * Nome do usuário
		 * @access private
		 * @var string
		 */
		private $nome;
		/**
		 * E-mail do usuário
		 * @access private
		 * @var string
		 */
		private $email;
		/**
		 * Nível de Acesso do usuário
		 * @access private
		 * @var integer
		 */
		private $nivel;
		/**
		 * Código da empresa que o usuário pode manipular
		 * @access private
		 * @var integer
		 */
		private $ligacao;
		/**
		 * Resposta para controle de acesso
		 * @access public
		 * @var integer
		 */
		public $resposta;
		/**
		 * Construtor da Classe ACESSAR
		 * @param string $user Nome do usuário
		 * @param string $senha Senha do usuário
		 * @param integer $login Modo de Operação:<br/>
		 * 0 - Login<br/>
		 * 1 - Logout
		 * @return void
		 */
		public function __construct($user,$senha,$login=0)
			{
			parent::__construct();
			$this->usuario = $user;
			$this->senha = $senha;
			$this->resposta = false;
			if ($login == 1)
				{
				$this->fechar_sessao();
				}
			else 
				{
				$this->checar_login();
				}
			}
		/**
		 * Destrutor da Classe ACESSAR
		 * @return void
		 */
		public function __destruct()
			{
			}
		/**
		 * Método privado utilizado para checar o login junto ao Banco de Dados.\n
		 * Existem um prévio tratamento de SQL Injection.
		 * @return void
		 */
		private function checar_login()
			{
			if (strlen($this->usuario) < 20)
				{
				if (ereg("^[a-zA-Z_]{3,16}$", $this->usuario))
					{
					if (ereg("^[a-zA-Z0-9_]{3,16}$", $this->senha))
						{
						$sql = "select id_user,nome,e_mail,usuario,senha,nivel,entidade from cadastro.usuario where usuario='".$this->usuario."' and senha = md5('".$this->senha."');";
						$this->exec_query($sql);
						if ($this->num_registros > 0)
							{
							$dados = $this->retorno[1][0];
							$this->resposta = true;
							$this->identificacao = "64".$dados[0];
							$this->nome = $dados[1];
							$this->email = $dados[2];
							$this->nivel = "77".$dados[5];
							$this->senha = md5($this->senha);
							if ($dados[5] > 0)
								{
								$this->ligacao = $dados[6];
								}
							}
						else 
							{
							echo ($this->msg_sistema);
							}
						}
					}
				}
			}
		/**
		 * Método público para iniciar sessão do Sistema.
		 * @return void
		 */
		public function iniciar_sessao()
			{
			$_SESSION['login'] = 1;
			$_SESSION['identificacao'] = $this->identificacao;
			$_SESSION['nome'] = $this->nome;
			$_SESSION['email'] = $this->email;
			$_SESSION['usuario'] = $this->usuario;
			$_SESSION['senha'] = $this->senha;
			$_SESSION['nivel'] = $this->nivel;
			if ($this->nivel > 770)
				{
				$_SESSION['ligacao'] = $this->ligacao;
				}
			}
		/**
		 * Método público utilizado para encerrar a sessão do Sistema.
		 * @return void
		 */
		public function fechar_sessao()
			{
			unset ($_SESSION['login']);
			unset ($_SESSION['identificacao']);
			unset ($_SESSION['nome']);
			unset ($_SESSION['email']);
			unset ($_SESSION['usuario']);
			unset ($_SESSION['senha']);
			unset ($_SESSION['nivel']);
			if ($_SESSION['nivel'] > 770)
				{
				unset ($_SESSION['ligacao']);
				}
			}
		};//ACESSAR
?>